自然語言處理(Natural Language Processing, NLP) 是人工智慧的重要分支,他的目標是能讓電腦「看懂」人類的語言,做出相對應的處理。
生活中常見的 NLP 應用:
這些日常應用背後都離不開 NLP 的基礎。
在傳統 NLP 裡,每一種任務幾乎都需要一套專屬模型或演算法:
import jieba
jieba.add_word("iThome")
jieba.add_word("鐵人賽")
sentence = "我愛2025iThome鐵人賽"
print(list(jieba.cut(sentence)))
輸出結果
['我', '愛', '2025', 'iThome', '鐵人賽']
import jieba
from sklearn.feature_extraction.text import CountVectorizer
# 定義語料
corpus = [
"我愛2025iThome鐵人賽",
"垃圾郵件不要點!",
"NLP是LLM的基礎",
]
# 用 jieba 分詞
def jieba_tokenizer(text):
return list(jieba.cut(text))
# 建立向量化器,指定用 jieba 分詞
vectorizer = CountVectorizer(tokenizer=jieba_tokenizer)
# 轉換
X = vectorizer.fit_transform(corpus)
print("特徵名稱:", vectorizer.get_feature_names_out())
print("向量化結果:\n", X.toarray())
輸出結果
特徵名稱: ['2025ithome' 'llm' 'nlp' '不要' '垃圾' '基礎' '愛' '我' '是' '的' '郵件' '鐵人賽' '點' '!']
向量化結果:
[[1 0 0 0 0 0 1 1 0 0 0 1 0 0]
[0 0 0 1 1 0 0 0 0 0 1 0 1 1]
[0 1 1 0 0 1 0 0 1 1 0 0 0 0]]
傳統 NLP 的最大特徵是「一個功能一個模型」:分詞有分詞模型、分類有分類器、翻譯有翻譯模型,這代表開發人員必須針對每個任務設計不同的邏輯架構。
但是現今的大型語言模型(LLM)打破了這個限制,只需透過「一個模型」加上「Prompt」,同時就能完成分詞、分類、翻譯甚至更複雜的問答。
1.NLP 是 LLM 的基礎:提供了任務定義、資料與方法論
2.LLM 是 NLP 的升級版:讓多任務統一在同一個語言模型之下
這正是為什麼 LLM 是 NLP 的「新時代交會點」!
參考連結:
https://datawhalechina.github.io/happy-llm/#/